/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package Ingresos;

import Controladores.CatedraticoJpaController;
import Controladores.HorariocatedraticoJpaController;
import Controladores.exceptions.IllegalOrphanException;
import Controladores.exceptions.NonexistentEntityException;
import Entidades.Horariocatedratico;
import Usuarios.conexion;
import java.util.List;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.persistence.EntityManager;
import javax.persistence.EntityManagerFactory;
import javax.persistence.Query;

/**
 *
 * @author EliteBook
 */
public class IHorarioCatedratico {
    public IHorarioCatedratico()
    {
        
    }
    public void guardar(String dia, int idCatedratico)
    {
        Horariocatedratico horarioCatedratico=new Horariocatedratico();
        EntityManagerFactory emf = conexion.getInstancia().getEMF();
        HorariocatedraticoJpaController controlador = new HorariocatedraticoJpaController(emf);
        horarioCatedratico.setAnulado(false);
        horarioCatedratico.setDia(dia);
        CatedraticoJpaController controladorCatedratico = new CatedraticoJpaController(emf);
        horarioCatedratico.setCatedraticoidCatedratico(controladorCatedratico.findCatedratico(idCatedratico));
        controlador.create(horarioCatedratico);
    }
    //modificar Horario catedratico       erick Valencia
    public void modificar(Horariocatedratico horarioCatedratico)
    {
        EntityManagerFactory emf = conexion.getInstancia().getEMF();
        HorariocatedraticoJpaController controlador = new HorariocatedraticoJpaController(emf);
        try {
            controlador.edit(horarioCatedratico);
        } catch (IllegalOrphanException ex) {
            Logger.getLogger(IHorarioCatedratico.class.getName()).log(Level.SEVERE, null, ex);
        } catch (NonexistentEntityException ex) {
            Logger.getLogger(IHorarioCatedratico.class.getName()).log(Level.SEVERE, null, ex);
        } catch (Exception ex) {
            Logger.getLogger(IHorarioCatedratico.class.getName()).log(Level.SEVERE, null, ex);
        }
    }
    //Buscar por id            Erick Valencia
    public Horariocatedratico buscarId(int id)
    {
         EntityManagerFactory emf = conexion.getInstancia().getEMF();
         HorariocatedraticoJpaController controlador = new HorariocatedraticoJpaController(emf);
         return controlador.findHorariocatedratico(id);
    }
    public List<Horariocatedratico> buscarDia(short dia)
    {
        EntityManagerFactory emf = conexion.getInstancia().getEMF();
        EntityManager em = emf.createEntityManager();
        Query qr;
        qr = em.createNamedQuery("Horariocatedratico.findByDia");
        qr.setParameter("dia",dia);
        List<Horariocatedratico> lista = qr.getResultList();
        return lista;
    }
    public List<Horariocatedratico> mostrarTodo()
    {
         EntityManagerFactory emf = conexion.getInstancia().getEMF();
         HorariocatedraticoJpaController controlador = new HorariocatedraticoJpaController(emf);
         return controlador.findHorariocatedraticoEntities();
    }
    
    public String toString(int id)
    {
        Horariocatedratico horario = this.buscarId(id);
        return horario.toString();
    }
    public List<Horariocatedratico> mostrarTodoFalse()
    {
        EntityManagerFactory emf = conexion.getInstancia().getEMF();
        EntityManager em = emf.createEntityManager();
        Query qr;
        qr = em.createNamedQuery("Horariocatedratico.findByAnulado");
        qr.setParameter("anulado", false);
        List<Horariocatedratico> lista = qr.getResultList();
        return lista;
    }
    public List<Horariocatedratico> mostrarTodoTrue()
    {
        EntityManagerFactory emf = conexion.getInstancia().getEMF();
        EntityManager em = emf.createEntityManager();
        Query qr;
        qr = em.createNamedQuery("Horariocatedratico.findByAnulado");
        qr.setParameter("Anulado", true);
        List<Horariocatedratico> lista = qr.getResultList();
        return lista;
    }
}
